namespace ScrumSprintMonitor.Infrastructure
{
	#region #using Directives

	using System;

	#endregion

	public class WorkItemChangeDescriptor
	{
		#region Field enum

		[Flags]
		public enum Field
		{
			DoneWork = 0x01,
			RemainingWork = 0x02,
			State = 0x04,
			ChangedBy = 0x08,
			ChangedDate = 0x10,
			AssignedTo = 0x20,
			Type = 0x40,
			Title = 0x80
		}

		#endregion

		#region Operation enum

		public enum Operation
		{
			Added,
			Removed,
			Changed
		}

		#endregion

		public Operation ChangeType { get; set; }
		public Field ChangedFields { get; set; }
		public IWorkItemAdapter OldWorkItem { get; set; }
		public IWorkItemAdapter NewWorkItem { get; set; }
	}
}